ruby language

Ruby คืออะไร

สำหรับคนที่สงสัยว่า Ruby คืออะไร ?  Ruby หรือ รูบี เป็นภาษาโปรแกรมเชิงวัตถุ ที่พัฒนาขึ้นในช่วง 1990 โดย Yukihiro “Matz” Matsumoto ที่ญี่ปุ่น

อ้างอิงจากผู้สร้างภาษา เจ้า Ruby นี้ได้อิธิพลมาจากภาษา Perl และมีความสามารถหลายๆอย่างคล้ายๆกัน

 

ประวัติของ Ruby

Concept ของ Ruby เริ่มต้นคิดค้นเมือ 24 กุมภาพันธ์ 1993 อ้างอิงจากผู้คิดค้นได้บอกว่า เค้าและทีมงานได้พบว่าเค้าไม่ชอบรูปแบบของ Perl เพราะมันภาษาของเล่น ( – o – ) และ Python ก็เหมือนจะไม่ใช่ภาษาเชิงวัตถุที่แท้จริง ในฐานะที่เค้าเป็นผู้คลั่งใคร้ ในภาษาโปแกรม เค้าจึงอยากได้ภาษาโปรแกรมเชิงวัตถุ ที่ง่ายต่อการเขียน เมื่อลองมองหาแล้วก็ยังไม่เจอสักอัน เค้าจึงตัดใจเขียนมันขึ้นมาเอง

 

ชื่อของ “Ruby” เกิดขึ้นในช่วงที่ chat online ระหว่าง Matsumoto และ Keiju Ishitsuka เมื่อตอน 24 กุมภาพันธ์ 1993 และได้ตัวเลือกมา 2 ชื่อคือ “Coral” และ “Ruby” แต่สุดท้าย Matsumoto ตัดสินใจเลือก “Ruby” เพราะมันเป็น หินเดือนเกิดของเพื่อนเค้า

 

Ruby on Rail คืออะไร

ก่อนอื่นเราต้องรู้จักคำว่า Rail ก่อน ซึ่งมันคือ software library ที่ต่อยอดให้กับภาษา Ruby พัฒนาขึ้นโดย Hansson ซึ่งเค้าได้ให้ชื่อว่า “Ruby on Rails” โดย Rail เป็น framework สำหรับการสร้าง website ที่ทำได้ง่ายและ ดูแลได้อย่างสะดวก ผ่านทาง Rail API และเมื่อรวมเข้ากับ HTML, CSS และ JavaScript คุณจะสามารถสร้าง web application ที่รันบน web server เช่น Apache โดย Rail ทำงานเป็น server ในส่วนเบื้องหลัง ส่วน web browser คือเบื้องหน้า

 

ข้อดีของ Ruby on Rail

  • Tooling – Rail มีเครื่องมือที่ช่วยลดเวลาในการทำ web application ในส่วนรูปแบบธรรมดา
  • Libraries – สามารถ download ใช้งานได้ฟรี
  • Code Quality – คุณภาพของ third party code เรียกได้ว่าสูงกว่าภาษาอื่น
  • Test Automation – มี Community ที่ทำ testing เพื่อให้งานออกมามีคุณภาพ
  • Large Community – มีผู้ใช้งานมากมาย ที่ใหญสุดน่าจะเป็น Github
  • Popular in The Valley – ได้รับความนิยมใน Silicon Valley และ ขยายออกไปทั่วโลก
  • Productivity -third party library ค่อนข้างพัฒนาได้รวดเร็ว
  • Next Generation – ถูกนิยมนำมาใช้สอนใน โลก online

 

ข้อเสียของ Ruby on Rail

  • Runtime Speed – ค่อนข้างช้าเมื่อเทียบกับภาษาอื่น จากปัญหา bottleneck
  • Boot Speed – การ boot ของ framework ช้าเพราะขึ้นอยู่กับจำนวน module ที่ต้อง load
  • Documentation – หาได้ค่อนข้างยาก และมีจำกัด
  • Multithreading – support การทำงานแบบ threading แต่จัดการได้ไม่ดีพอ

 

Author: Suphakit Annoppornchai

Credit: https://saixiii.com,https://www.madetech.com

Leave a Reply